@@ -152,6 +152,7 @@ urlpatterns += [ |
||
152 | 152 |
urlpatterns += [ |
153 | 153 |
url(r'^wx/order_create$', pay_views.wx_order_create_api, name='wx_order_create_api'), # 订单创建 |
154 | 154 |
url(r'^wx/order_query$', pay_views.wx_order_query_api, name='wx_order_query_api'), # 订单查询补单 |
155 |
+ url(r'^wx/order_cancel$', pay_views.wx_order_cancel_api, name='wx_order_cancel_api'), # 订单取消 |
|
155 | 156 |
url(r'^wx/order_list$', pay_views.wx_order_list_api, name='wx_order_list_api'), # 订单列表 |
156 | 157 |
url(r'^wx/order_detail$', pay_views.wx_order_detail_api, name='wx_order_detail_api'), # 订单详情 |
157 | 158 |
url(r'^wx/notify_url$', pay_views.wx_notify_url_api, name='wx_notify_url_api'), # 支付异步通知回调地址 |
@@ -235,6 +235,24 @@ def wx_order_query_api(request): |
||
235 | 235 |
|
236 | 236 |
@logit |
237 | 237 |
@transaction.atomic |
238 |
+def wx_order_cancel_api(request): |
|
239 |
+ """ 订单取消 """ |
|
240 |
+ user_id = request.POST.get('user_id', '') |
|
241 |
+ order_id = request.POST.get('order_id', '') |
|
242 |
+ |
|
243 |
+ try: |
|
244 |
+ order = OrderInfo.objects.select_for_update().get(order_id=order_id, status=True) |
|
245 |
+ except OrderInfo.DoesNotExist: |
|
246 |
+ return response(OrderStatusCode.WX_ORDER_NOT_FOUND) |
|
247 |
+ |
|
248 |
+ if user_id not in [order.from_uid]: |
|
249 |
+ return response(OrderStatusCode.NO_CANCEL_PERMISSION) |
|
250 |
+ |
|
251 |
+ return response(200, 'Order Cancel Success', u'订单取消成功') |
|
252 |
+ |
|
253 |
+ |
|
254 |
+@logit |
|
255 |
+@transaction.atomic |
|
238 | 256 |
def wx_order_list_api(request): |
239 | 257 |
""" 订单列表 """ |
240 | 258 |
user_id = request.POST.get('user_id', '') |
@@ -113,6 +113,7 @@ class OrderStatusCode(BaseStatusCode): |
||
113 | 113 |
SIGN_CHECK_FAIL = StatusCodeField(404010, 'Sign Check Fail', description=u'签名校验失败') |
114 | 114 |
FEE_CHECK_FAIL = StatusCodeField(404011, 'FEE Check Fail', description=u'金额校验失败') |
115 | 115 |
NO_DETAIL_PERMISSION = StatusCodeField(404015, 'No Detail Permission', description=u'无详情权限') |
116 |
+ NO_CANCEL_PERMISSION = StatusCodeField(404016, 'No Cancel Permission', description=u'无取消权限') |
|
116 | 117 |
WX_ORDER_PAID_ALREADY_EXISTS = StatusCodeField(404020, 'WX Order Paid Already Exists', description=u'照片已购买') |
117 | 118 |
|
118 | 119 |
|